Apparatus for controlling three-dimensional images

ABSTRACT

A system that incorporates teachings of the present disclosure may include, for example, computer-readable storage medium having computer instructions to receive from a media processor one or more scaling characteristics of a three-dimensional (3D) image, present a user interface (UI) for controlling a presentation of the 3D image at a presentation device communicatively coupled to the media processor, wherein the UI is adapted to the scaling characteristics of the 3D image, detect a manipulation of the UI, and transmit to the media processor instructions for adapting the presentation of the 3D image at the presentation device according to the detected manipulation of the UI. Other embodiments are disclosed.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 12/868,185 filed Aug. 25, 2010 which is incorporated herein by reference in its entirety.

FIELD OF THE DISCLOSURE

The present disclosure relates generally to techniques for controlling images and more specifically to an apparatus for controlling three-dimensional images.

BACKGROUND

Media content applications such as gaming applications can generate images with perspectives which in some instances can be or can appear to be three-dimensional. Manipulating depth, orientation or other aspects of such images with common peripherals such as a computer mouse, or a gaming console controller can be challenging for some, and for others with less dexterity unmanageable.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1-2 depict illustrative embodiments of communication systems that provide media services;

FIG. 3 depicts an illustrative embodiment of a portal interacting with the communication systems of FIGS. 1-2;

FIG. 4 depicts an illustrative embodiment of a communication device utilized in the communication systems of FIGS. 1-2;

FIG. 5 depicts an illustrative embodiment of a method operating in portions of the communication systems of FIGS. 1-2;

FIGS. 6-18 depict illustrative embodiments of the method of FIG. 5; and

FIG. 19 is a diagrammatic representation of a machine in the form of a computer system within which a set of instructions, when executed, may cause the machine to perform any one or more of the methodologies discussed herein.

DETAILED DESCRIPTION

One embodiment of the present disclosure can entail a communication device having a motion sensor, a touch-screen display, and a controller. The controller can be operable to communicatively couple to a media processor operable to present a three-dimensional (3D) image by way of a presentation device communicatively coupled to the media processor, receive from the media processor one or more scaling characteristics of the 3D image, present at the touch-screen display a user interface (UI) for controlling a presentation of the 3D image at the presentation device, detect by way of the touch-screen display a manipulation of the UI, and transmit to the media processor instructions for adapting the presentation of the 3D image at the presentation device according to the detected manipulation of the UI. The UI can be adapted to the scaling characteristics of the 3D image.

One embodiment of the present disclosure can entail a computer-readable storage medium having computer instructions to receive from a media processor one or more scaling characteristics of a 3D image, present a UI for controlling a presentation of the 3D image at a presentation device communicatively coupled to the media processor, detect a manipulation of the UI, and transmit to the media processor instructions for adapting the presentation of the 3D image at the presentation device according to the detected manipulation of the UI.

One embodiment of the present disclosure can entail a media processor having a controller operable to transmit to a communication device one or more scaling characteristics of a 3D image, and receive instructions from the communication device for adapting a presentation of the 3D image at a presentation device communicatively coupled to the media processor. The communication device can be operable to present a UI for controlling the presentation of the 3D image at the presentation device according to the one or more scaling characteristics of the 3D image, detect a manipulation of the UI, and transmit to the media processor the instructions for adapting the presentation of the 3D image at the presentation device according to the detected manipulation of the UI.

FIG. 1 depicts an illustrative embodiment of a first communication system 100 for delivering media content. The communication system 100 can represent an Internet Protocol Television (IPTV) broadcast media system. The IPTV media system can include a super head-end office (SHO) 110 with at least one super headend office server (SHS) 111 which receives media content from satellite and/or terrestrial communication systems. In the present context, media content can represent audio content, moving image content such as videos, still image content, or combinations thereof. The SHS server 111 can forward packets associated with the media content to video head-end servers (VHS) 114 via a network of video head-end offices (VHO) 112 according to a common multicast communication protocol.

The VHS 114 can distribute multimedia broadcast programs via an access network 118 to commercial and/or residential buildings 102 housing a gateway 104 (such as a common residential or commercial gateway). The access network 118 can represent a group of digital subscriber line access multiplexers (DSLAMs) located in a central office or a service area interface that provide broadband services over optical links or copper twisted pairs 119 to buildings 102. The gateway 104 can use common communication technology to distribute broadcast signals to media processors 106 such as Set-Top Boxes (STBs) which in turn present broadcast channels to media devices 108 such as computers or television sets managed in some instances by a media controller 107 (such as an infrared or RF remote control).

The gateway 104, the media processors 106, and media devices 108 can utilize tethered interface technologies (such as coaxial or phone line wiring) or can operate over a common wireless access protocol. With these interfaces, unicast communications can be invoked between the media processors 106 and subsystems of the IPTV media system for services such as video-on-demand (VoD), browsing an electronic programming guide (EPG), or other infrastructure services.

Some of the network elements of the IPTV media system can be coupled to one or more computing devices 130 a portion of which can operate as a web server for providing portal services over an Internet Service Provider (ISP) network 132 to wireline media devices 108 or wireless communication devices 116 by way of a wireless access base station 117 operating according to common wireless access protocols such as Wireless Fidelity (WiFi), or cellular communication technologies (such as GSM, CDMA, UMTS, WiMAX, Software Defined Radio or SDR, and so on).

Another distinct portion of the computing devices 130 can function as an image processing system (herein referred to as image processing system 130). The image processing system 130 can use common computing and communication technology to adapt a presentation of three-dimensional (3D) images at a presentation device.

It will be appreciated by an artisan of ordinary skill in the art that a satellite broadcast television system can be used in place of the IPTV media system. In this embodiment, signals transmitted by a satellite 115 supplying media content can be intercepted by a common satellite dish receiver 131 coupled to the building 102. Modulated signals intercepted by the satellite dish receiver 131 can be submitted to the media processors 106 for generating broadcast channels which can be presented at the media devices 108. The media processors 106 can be equipped with a broadband port to the ISP network 132 to enable infrastructure services such as VoD and EPG described above.

In yet another embodiment, an analog or digital broadcast distribution system such as cable TV system 133 can be used in place of the IPTV media system described above. In this embodiment the cable TV system 133 can provide Internet, telephony, and interactive media services.

It follows from the above illustrations that the present disclosure can apply to any present or future interactive over-the-air or landline media content services.

FIG. 2 depicts an illustrative embodiment of a communication system 200, employing an IP Multimedia Subsystem (IMS) network architecture to facilitate the combined services of circuit-switched and packet-switched systems. Communication system 200 can be overlaid or operably coupled with communication system 100 as another representative embodiment of communication system 100.

Communication system 200 can comprise a Home Subscriber Server (HSS) 240, a tElephone NUmber Mapping (ENUM) server 230, and other common network elements of an IMS network 250. The IMS network 250 can establish communications between IMS compliant communication devices (CD) 201, 202, Public Switched Telephone Network (PSTN) CDs 203, 205, and combinations thereof by way of a Media Gateway Control Function (MGCF) 220 coupled to a PSTN network 260. The MGCF 220 is not used when a communication session involves IMS CD to IMS CD communications. Any communication session involving at least one PSTN CD requires the use of the MGCF 220.

IMS CDs 201, 202 can register with the IMS network 250 by contacting a Proxy Call Session Control Function (P-CSCF) which communicates with a corresponding Serving CSCF (S-CSCF) to register the CDs with at the HSS 240. To initiate a communication session between CDs, an originating IMS CD 201 can submit a Session Initiation Protocol (SIP INVITE) message to an originating P-CSCF 204 which communicates with a corresponding originating S-CSCF 206. The originating S-CSCF 206 can submit queries to the ENUM system 230 to translate an E.164 telephone number in the SIP INVITE to a SIP Uniform Resource Identifier (URI) if the terminating communication device is IMS compliant.

The SIP URI can be used by an Interrogating CSCF (I-CSCF) 207 to submit a query to the HSS 240 to identify a terminating S-CSCF 214 associated with a terminating IMS CD such as reference 202. Once identified, the I-CSCF 207 can submit the SIP INVITE to the terminating S-CSCF 214. The terminating S-CSCF 214 can then identify a terminating P-CSCF 216 associated with the terminating CD 202. The P-CSCF 216 then signals the CD 202 to establish communications.

If the terminating communication device is instead a PSTN CD such as references 203 or 205, the ENUM system 230 can respond with an unsuccessful address resolution which can cause the originating S-CSCF 206 to forward the call to the MGCF 220 via a Breakout Gateway Control Function (BGCF) 219. The MGCF 220 can then initiate the call to the terminating PSTN CD by common means over the PSTN network 260.

The aforementioned communication process is symmetrical. Accordingly, the terms “originating” and “terminating” in FIG. 2 are interchangeable. It is further noted that communication system 200 can be adapted to support video conferencing. In addition, communication system 200 can be adapted to provide the IMS CDs 201, 203 the multimedia and Internet services of communication system 100.

The image processing system 130 of FIG. 1 can be operably coupled to the second communication system 200 for purposes similar to those described above.

FIG. 3 depicts an illustrative embodiment of a portal 302 which can operate from the computing devices 130 described earlier of communication 100 illustrated in FIG. 1. The portal 302 can be used for managing services of communication systems 100-200. The portal 302 can be accessed by a Uniform Resource Locator (URL) with a common Internet browser such as Microsoft's Internet Explorer™ using an Internet-capable communication device such as those described for FIGS. 1-2. The portal 302 can be configured, for example, to access a media processor 106 and services managed thereby such as a Digital Video Recorder (DVR), a VoD catalog, an EPG, a personal catalog (such as personal videos, pictures, audio recordings, etc.) stored in the media processor, provisioning IMS services described earlier, provisioning Internet services, provisioning cellular phone services, and so on.

FIG. 4 depicts an exemplary embodiment of a communication device 400. Communication device 400 can serve in whole or in part as an illustrative embodiment of the communication devices of FIGS. 1-2. The communication device 400 can comprise a wireline and/or wireless transceiver 402 (herein transceiver 402), a user interface (UI) 404, a power supply 414, a location receiver 416, a motion sensor 418, and a controller 406 for managing operations thereof. The transceiver 402 can support short-range or long-range wireless access technologies such as Bluetooth, WiFi, Digital Enhanced Cordless Telecommunications (DECT), or cellular communication technologies, just to mention a few. Cellular technologies can include, for example, CDMA-1X, UMTS/HSDPA, GSM/GPRS, TDMA/EDGE, EV/DO, WiMAX, SDR, and next generation cellular wireless communication technologies as they arise. The transceiver 402 can also be adapted to support circuit-switched wireline access technologies (such as PSTN), packet-switched wireline access technologies (such as TCPIP, VoIP, etc.), and combinations thereof.

The UI 404 can include a depressible or touch-sensitive keypad 408 with a navigation mechanism such as a roller ball, joystick, mouse, or navigation disk for manipulating operations of the communication device 400. The keypad 408 can be an integral part of a housing assembly of the communication device 400 or an independent device operably coupled thereto by a tethered wireline interface (such as a USB cable) or a wireless interface supporting for example Bluetooth. The keypad 408 can represent a numeric dialing keypad commonly used by phones, and/or a Qwerty keypad with alphanumeric keys. The UI 404 can further include a display 410 such as monochrome or color LCD (Liquid Crystal Display), OLED (Organic Light Emitting Diode) or other suitable display technology for conveying images to an end user of the communication device 400. In an embodiment where the display 410 is touch-sensitive, a portion or all of the keypad 408 can be presented by way of the display.

The UI 404 can also include an audio system 412 that utilizes common audio technology for conveying low volume audio (such as audio heard only in the proximity of a human ear) and high volume audio (such as speakerphone for hands free operation). The audio system 412 can further include a microphone for receiving audible signals of an end user. The audio system 412 can also be used for voice recognition applications. The UI 404 can further include an image sensor 413 such as a charged coupled device (CCD) camera for capturing still or moving images.

The power supply 414 can utilize common power management technologies such as replaceable and rechargeable batteries, supply regulation technologies, and charging system technologies for supplying energy to the components of the communication device 400 to facilitate long-range or short-range portable applications. The location receiver 416 can utilize common location technology such as a global positioning system (GPS) receiver for identifying a location of the communication device 400 based on signals generated by a constellation of GPS satellites, thereby facilitating common location services such as navigation. The motion sensor 418 can comprise common technology such as one or more accelerometers and/or gyro sensors which can be used to detect motion, orientation and three-dimensional positioning in space. Motion data generated by the motion sensor 418 can be shared with other devices as will be described below.

The communication device 400 can use the transceiver 402 to also determine a proximity to a cellular, WiFi or Bluetooth access point by common power sensing techniques such as utilizing a received signal strength indicator (RSSI) and/or a signal time of arrival (TOA) or time of flight (TOF). The controller 406 can utilize computing technologies such as a microprocessor, a digital signal processor (DSP), and/or a video processor with associated storage memory such a Flash, ROM, RAM, SRAM, DRAM or other storage technologies.

The communication device 400 can be adapted to perform the functions of the media processor 106, the media devices 108, or the portable communication devices 116 of FIG. 1, as well as the IMS CDs 201-202 and PSTN CDs 203-205 of FIG. 2. It will be appreciated that the communication device 400 can also represent other common devices that can operate in communication systems 100-200 of FIGS. 1-2 such as a gaming console and a media player.

FIG. 5 depicts an illustrative method 500 that operates in portions of the devices illustrated in FIGS. 1-4. FIGS. 6-18 present illustrative embodiments of method 500. FIG. 6, for example, presents a residential gateway coupled to an STB communicatively coupled to a presentation device (e.g., HDTV), a laptop computer, a desktop computer with a monitor, and a mobile communication device—similar to the devices described in FIG. 1. These devices can communicatively coupled to each other by a tethered interface (e.g., USB cable, HDMI cable, etc.), or by a wireless interface such as WiFi, cellular, and so on. Method 500 describes embodiments in which the mobile device can be viewed as communicating with the STB, the laptop computer, or the desktop computer by way of the residential gateway utilizing the WiFi interface as shown in FIG. 7. Other configurations are possible and therefore contemplated by the present disclosure.

With this in mind, method 500 can begin with step 502 in which a media processor 106 is communicatively coupled to a communication device 116. The media processor 106 can represent the STB, the laptop computer, or the desktop computer of FIGS. 6-7. The communication device 116 can be represented by the wireless touch-screen mobile device of FIGS. 6-7. For illustration purposes only, the media processor 106 will be referred to herein as STB 106, while the communication device 116 will be referred to herein as mobile device 116 with an understanding that other embodiments are contemplated by the present disclosure. Once the STB 106 and the mobile device 116 have established communications in step 502 over for example the WiFi interface, the mobile device 116 can receive one or more scaling characteristics of a three-dimensional (3D) image 702 such as shown in FIG. 7. The 3D image can originate from media content presented by the STB 106 such as, for example, a gaming application, or from other source of media content that can involve the presentation of 3D images.

To control the presentation of the 3D image 702 at the presentation device coupled to the STB 106 (herein referred to as TV 108), the mobile device 116 can be operable to present in step 506 a user interface (UI) from a touch-screen display of the mobile device 116. FIGS. 8-11 present illustrative embodiments of the UI. FIG. 8, for example, depicts a mobile device 116 that presents a UI with selectable toggle buttons for x, y, and z axes depicted below the buttons. The x, y and z axes can be depicted in any orientation as shown in FIG. 9. Each of the x, y and z axes can include a selectable object (e.g., a 2D or 3D sphere) such as shown in FIG. 10, which can be slidably controlled on an axis by a finger that slides across the touch-screen display of the mobile device 116 in line with the axis in question as shown in FIG. 12. FIG. 11 illustrates that the UI can be oriented in portrait or landscape mode by a detectable orientation of the mobile device 116 using the motion sensor 418.

Upon receiving scaling characteristics of the 3D image 702 in step 504, the mobile 116 can scale the UI to the scaling characteristics supplied by the STB 106. The scaling characteristics can include among other things 2D or 3D dimensions of the 3D image, 2D or 3D perspectives of the 3D image, shading characteristics of the 3D image, and a color scheme of the 3D image. There may be other characteristics which may be suitable for scaling the UI to the 3D image 702, which are contemplated by the present disclosure. Upon scaling the UI to the 3D image 702, the UI can be manipulated in step 508 to calibrate or initialize the presentation of the 3D image 702 to a desired initialization state definable by the user of the mobile device 116.

FIG. 12 illustrates a UI manipulation with one finger. In this illustration, the mobile device 116 can be adapted to detect an attribute from the manipulation, particularly the presence of one finger. The detected finger informs the mobile device 116 that a user desires to manipulate the slidable object of a single one of the x, y, and z axes (in this illustration the y axis) as shown in FIG. 12. With two fingers, the mobile device 116 can be adapted to control all three axes simultaneously as shown in FIG. 13, or two axes if one of the axes is immobilized by selecting the toggle button of the x, y or z axis. These manipulations can cause the 3D image to zoom in, zoom out, rotate, change perspective, and so on. While UI manipulations are occurring, the mobile device 116 can instruct the STB 106 in step 510 how it is to adapt the presentation of the 3D image 702. The instructions supplied by the mobile device 116 to the STB 106 can include for example coordinate data which can be used by the STB 106 to adapt the presentation of the 3D image 702 at the TV 108.

Once the user has achieved a desired initialization state (e.g., positioning, perspective, zoom state, etc.) of the 3D image 702, the user can designate in step 512 this state as a desired calibration state by sliding three fingers on the touch-screen display as shown in FIG. 14. The calibration (or initialization) state can be used as a starting point for manipulating the 3D image 702 when an application that generates the 3D image has been engaged. For instance, the application that generated the 3D image 702 may be a gaming application, and steps 504-512 can be used prior to engaging in a game with other players or automated players (generally referred to as CPUs).

Once calibration has been achieved in step 512, the mobile device 116 can be operable to detect an axis change in step 514, and/or three-dimensional (3D) motion data generated by the motion sensor 418 (with accelerometers and/or digital gyros) of the mobile device 116 in step 518. If an axis change is detected in step 514 by sliding a finger on the slidable object of the x, y or z axis, the mobile device 116 can proceed to step 516 where it instructs the STB 106 to adapt the presentation of the 3D image 702 according detected change in position of the slidable object in a given axis. This adaptation can represent a zoom in or zoom out adaptation of the 3D image 702 as shown in FIG. 18, an upward or downward repositioning of the 3D image 702, or a left to right or right to left repositioning of the 3D image 702. If two fingers are used, the presentation of the 3D image 702 can be adapted to a multi-axis change as previously described.

If a motion of the mobile device 116 is detected in step 518, the mobile device 116 can proceed to step 522 to determine if the user has immobilized one or more of the x, y and z axes. If all axes are enabled, the mobile device 116 proceeds to step 520 where it instructs the STB 106 to adapt a presentation of the 3D image 702 according to the motion data generated by the motion sensor 418 of the mobile device 116. If one or more of the axes have been immobilized by toggling one or more of the x, y, or z buttons, the mobile device 116 proceeds to step 524 where it instructs the STB 106 to adapt a presentation of the 3D image 702 according to a subset of the motion data generated by the motion sensor 418. For example, if the z axis is immobilized, mobile device 116 can extract only the x and y dimensional data from the motion data and thereby instruct the STB 106 to adapt the presentation of the 3D image 702 with the z-axis immobilized.

FIG. 15 depicts an illustration in which the z axis is immobilized. In this illustration, rotating the mobile device 116 results in instructions to the STB 106 for rotating the 3D image 702 about the z axis. If a z axis change is detected by the motion sensor 418, it is ignored by the mobile device 116 thereby resulting in the illustration of FIG. 15. FIG. 16 depicts an illustration where none of the axes have been immobilized, thereby enabling all degrees of freedom possible with the motion of the mobile device 116. In this embodiment, any multidimensional movement of the mobile device 116 results in a comparable multidimensional movement of the 3D image 702.

It will be appreciated that method 500 can be supplemented with technology that filters anomalous motion (e.g., jitter) such as when a user is unable to maintain a steady hold of the mobile device 116. Common image processing technology can be used to remove small rapid variations of motion. By filtering anomalous motion from the motion data such as jitter, the mobile device 116 is able to instruct the STB 106 to adapt the presentation of the 3D image 702 in a manner that seems smoother than the user would normally be able to accomplish. It should be noted that filtering anomalous motion would not impede a user to orient and position 3D images 702 as desired.

Upon reviewing the aforementioned embodiments, it would be evident to an artisan with ordinary skill in the art that said embodiments can be modified, reduced, or enhanced without departing from the scope and spirit of the claims described below. For example, method 500 can be adapted so that it is used in real-time while engaged in an interactive 3D image generation application such as a video gaming application. Method 500 can also be adapted to control a presentation of media content at a computer, or other presentation peripheral. Some or the entire image processing functions described by method 500 can be delegated to a network element such as an image processing system 130 of FIGS. 1 and 2. In one embodiment, the mobile device 116 can operate in coordination with the image processing system 130 to instruct the STB 106 (or another computing device with presentation capabilities) to adapt the presentation of the 3D image as described my method 500. Method 500 can also be adapted to control the presentation of 3D images at devices operating in the communication system 200 of FIG. 2.

Other suitable modifications can be applied to the present disclosure without departing from the scope of the claims below. Accordingly, the reader is directed to the claims section for a fuller understanding of the breadth and scope of the present disclosure.

FIG. 19 depicts an exemplary diagrammatic representation of a machine in the form of a computer system 1900 within which a set of instructions, when executed, may cause the machine to perform any one or more of the methodologies discussed above. In some embodiments, the machine operates as a standalone device. In some embodiments, the machine may be connected (e.g., using a network) to other machines. In a networked deployment, the machine may operate in the capacity of a server or a client user machine in server-client user network environment, or as a peer machine in a peer-to-peer (or distributed) network environment.

The machine may comprise a server computer, a client user computer, a personal computer (PC), a tablet PC, a laptop computer, a desktop computer, a control system, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. It will be understood that a device of the present disclosure includes broadly any electronic device that provides voice, video or data communication. Further, while a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.

The computer system 1900 may include a processor 1902 (e.g., a central processing unit (CPU), a graphics processing unit (GPU, or both), a main memory 1904 and a static memory 1906, which communicate with each other via a bus 1908. The computer system 1900 may further include a video display unit 1910 (e.g., a liquid crystal display (LCD), a flat panel, a solid state display, or a cathode ray tube (CRT)). The computer system 1900 may include an input device 1912 (e.g., a keyboard), a cursor control device 1914 (e.g., a mouse), a disk drive unit 1916, a signal generation device 1918 (e.g., a speaker or remote control) and a network interface device 1920.

The disk drive unit 1916 may include a machine-readable medium 1922 on which is stored one or more sets of instructions (e.g., software 1924) embodying any one or more of the methodologies or functions described herein, including those methods illustrated above. The instructions 1924 may also reside, completely or at least partially, within the main memory 1904, the static memory 1906, and/or within the processor 1902 during execution thereof by the computer system 1900. The main memory 1904 and the processor 1902 also may constitute machine-readable media.

Dedicated hardware implementations including, but not limited to, application specific integrated circuits, programmable logic arrays and other hardware devices can likewise be constructed to implement the methods described herein. Applications that may include the apparatus and systems of various embodiments broadly include a variety of electronic and computer systems. Some embodiments implement functions in two or more specific interconnected hardware modules or devices with related control and data signals communicated between and through the modules, or as portions of an application-specific integrated circuit. Thus, the example system is applicable to software, firmware, and hardware implementations.

In accordance with various embodiments of the present disclosure, the methods described herein are intended for operation as software programs running on a computer processor. Furthermore, software implementations can include, but not limited to, distributed processing or component/object distributed processing, parallel processing, or virtual machine processing can also be constructed to implement the methods described herein.

The present disclosure contemplates a machine readable medium containing instructions 1924, or that which receives and executes instructions 1924 from a propagated signal so that a device connected to a network environment 1926 can send or receive voice, video or data, and to communicate over the network 1926 using the instructions 1924. The instructions 1924 may further be transmitted or received over a network 1926 via the network interface device 1920.

While the machine-readable medium 1922 is shown in an example embodiment to be a single medium, the term “machine-readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term “machine-readable medium” shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present disclosure.

The term “machine-readable medium” shall accordingly be taken to include, but not be limited to: solid-state memories such as a memory card or other package that houses one or more read-only (non-volatile) memories, random access memories, or other re-writable (volatile) memories; magneto-optical or optical medium such as a disk or tape; and/or a digital file attachment to e-mail or other self-contained information archive or set of archives is considered a distribution medium equivalent to a tangible storage medium. Accordingly, the disclosure is considered to include any one or more of a machine-readable medium or a distribution medium, as listed herein and including art-recognized equivalents and successor media, in which the software implementations herein are stored.

Although the present specification describes components and functions implemented in the embodiments with reference to particular standards and protocols, the disclosure is not limited to such standards and protocols. Each of the standards for Internet and other packet switched network transmission (e.g., TCP/IP, UDP/IP, HTML, HTTP) represent examples of the state of the art. Such standards are periodically superseded by faster or more efficient equivalents having essentially the same functions. Accordingly, replacement standards and protocols having the same functions are considered equivalents.

The illustrations of embodiments described herein are intended to provide a general understanding of the structure of various embodiments, and they are not intended to serve as a complete description of all the elements and features of apparatus and systems that might make use of the structures described herein. Many other embodiments will be apparent to those of skill in the art upon reviewing the above description. Other embodiments may be utilized and derived therefrom, such that structural and logical substitutions and changes may be made without departing from the scope of this disclosure. Figures are also merely representational and may not be drawn to scale. Certain proportions thereof may be exaggerated, while others may be minimized Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.

Such embodiments of the inventive subject matter may be referred to herein, individually and/or collectively, by the term “invention” merely for convenience and without intending to voluntarily limit the scope of this application to any single invention or inventive concept if more than one is in fact disclosed. Thus, although specific embodiments have been illustrated and described herein, it should be appreciated that any arrangement calculated to achieve the same purpose may be substituted for the specific embodiments shown. This disclosure is intended to cover any and all adaptations or variations of various embodiments. Combinations of the above embodiments, and other embodiments not specifically described herein, will be apparent to those of skill in the art upon reviewing the above description.

The Abstract of the Disclosure is provided with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description, it can be seen that various features are grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separately claimed subject matter. 

What is claimed is:
 1. A device comprising: a memory to store instructions; and a controller coupled to the memory, wherein responsive to executing the instructions, the controller performs operations comprising: generating a user interface for presentation at a touch-screen display, the user interface comprising an x-axis with a slidable first object, a y-axis with a slidable second object, a z-axis with a slidable third object, and selectable areas on the touch-screen display corresponding to the x-axis, the y-axis and the z-axis, wherein the user interface is adapted to a scaling characteristic of a three-dimensional image; and receiving a stimulus corresponding to a manipulation of the user interface by a movement of a finger on the touch screen display to control presentation of the three-dimensional image at a presentation device.
 2. The device of claim 1, wherein the first object, the second object, and the third object each comprise a sphere, and the selectable areas comprise toggle buttons corresponding to the x-axis, the y-axis, and the z-axis respectively.
 3. The device of claim 1, wherein the scaling characteristic comprises a dimension of the three-dimensional image, a two-dimensional perspective of the three-dimensional image, a three-dimensional perspective of the three-dimensional image, a shading characteristic of the three-dimensional image, a color scheme of the three-dimensional image, or a combination thereof.
 4. The device of claim 1, wherein in accordance with the scaling characteristic, the manipulation of the user interface controls initialization of the presentation of the three-dimensional image to a desired initialization state.
 5. The device of claim 1, wherein the movement comprises a sliding movement to manipulate one of the first object, the second object, or the third object with respect to the x-axis, the y-axis, or the z-axis respectively, to cause the three-dimensional image to reposition along that axis.
 6. The device of claim 1, wherein a presence of a finger on the touch-screen display corresponds to a request to immobilize locations of the first object, the second object or the third object on the x-axis, the y-axis, or the z-axis to immobilize the presentation of the three-dimensional image.
 7. The device of claim 6, wherein the presence of the finger on one selectable area corresponds to a request to immobilize the location of the object on the axis corresponding to that area.
 8. The device of claim 1, wherein the manipulation of the user interface comprises a sliding movement of a plurality of fingers to control presentation of the three-dimensional image on three axes.
 9. The device of claim 8, wherein the manipulation of the user interface causes the three-dimensional image to zoom in, zoom out, rotate, change perspective, or a combination thereof.
 10. The device of claim 1, wherein the user interface is scaled based on a screen resolution of the touch screen display with respect to a resolution of the user interface.
 11. A method comprising: generating, by a device comprising a processor, a user interface at a touch-screen display; and receiving, by the device, a first stimulus corresponding to a manipulation of the user interface by a movement of a finger on the touch screen display to control presentation of a three-dimensional image; and wherein the finger movement comprises sliding a first object on an x-axis, sliding a second object on a y-axis, sliding a third object on a z-axis, or touching a selectable area corresponding to the x-axis, the y-axis or the z-axis, wherein the user interface is adapted to a scaling characteristic of the three-dimensional image, wherein a sliding movement performed with one finger manipulating one of the first object, the second object, or the third object with respect to the corresponding axis, causes the three-dimensional image to reposition along that axis, and wherein a sliding movement performed with a plurality of fingers controls presentation of the three-dimensional image on three axes.
 12. The method of claim 11, wherein the user interface is scaled based on a screen resolution of the touch screen display with respect to a resolution of the user interface.
 13. The method of claim 11, wherein the scaling characteristic comprises a dimension of the three-dimensional image, a two-dimensional perspective of the three-dimensional image, a three-dimensional perspective of the three-dimensional image, a shading characteristic of the three-dimensional image, a color scheme of the three-dimensional image, or a combination thereof.
 14. The method of claim 11, wherein the first stimulus corresponds to a manipulation of the user interface to control initialization of the presentation of the three-dimensional image to a desired initialization state.
 15. The method of claim 11, further comprising receiving a second stimulus corresponding to a touch on the selectable area corresponding to the x-axis, the y-axis or the z-axis that corresponds to a request to immobilize locations of the first object, the second object or the third object on the x-axis, the y-axis, or the z-axis respectively, to immobilize the presentation of the three-dimensional image.
 16. The method of claim 11, wherein the three-dimensional image is generated in an interactive three-dimensional image generation application.
 17. The method of claim 16, wherein the manipulation of the user interface is performed in real-time while engaged in the interactive three-dimensional image generation application.
 18. A tangible computer-readable storage device, comprising computer instructions which, when executed by a processor, cause the processor to perform operations comprising: generating a user interface for presentation at a touch-screen display, the user interface comprising an x-axis with a slidable first object, a y-axis with a slidable second object, a z-axis with a slidable third object, and selectable areas on the touch-screen display corresponding to the x-axis, the y-axis and the z-axis, wherein the user interface is adapted to a scaling characteristic of a three-dimensional image; and receiving a stimulus corresponding to a manipulation of the user interface by a movement of a finger on the touch screen display to control presentation of the three-dimensional image at a presentation device.
 19. The tangible computer-readable storage device of claim 18, wherein the scaling characteristic comprises a dimension of the three-dimensional image, a two-dimensional perspective of the three-dimensional image, a three-dimensional perspective of the three-dimensional image, a shading characteristic of the three-dimensional image, a color scheme of the three-dimensional image, or a combination thereof.
 20. The tangible computer-readable storage device of claim 18, wherein the three-dimensional image is generated in an interactive three-dimensional image generation application, and wherein manipulation of the user interface is performed in real-time while engaged in the interactive three-dimensional image generation application. 